package com.xyht.sca_s.student_manage_system.modules.chargePayment.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 缴费记录表
 * </p>
 *
 * @author XYHT
 * @since 2024-02-05
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sms_wns_charge_payment_record")
@ApiModel(value="SmsWnsChargePaymentRecord对象", description="缴费记录表")
public class SmsWnsChargePaymentRecord implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "缴费记录id")
    private String id;

    @ApiModelProperty(value = "缴费来源(0.新生缴费 1.普通缴费 2.招生预支付 3.助学贷款核销)")
    private Integer type;

    @ApiModelProperty(value = "流水类型(0.线上缴费 1.线下缴费 2.助学贷款核销 3.退费)")
    private Integer mode;

    @ApiModelProperty(value = "收费计划id/招生学生id")
    private String eventId;

    @ApiModelProperty(value = "userId")
    private String userId;

    @ApiModelProperty(value = "stuId")
    private String stuId;

    @ApiModelProperty(value = "	预支付ID")
    private String prepayId;

    @ApiModelProperty(value = "支付订单号")
    private String paymentTransactionId;

    @ApiModelProperty(value = "商户名")
    private String configName;

    @ApiModelProperty(value = "支付金额")
    private BigDecimal paymentAmount;

    @ApiModelProperty(value = "支付时间")
    private Date paymentTime;

     @ApiModelProperty(value = "超时时间")
    private Date expireTime;

    @ApiModelProperty(value = "备注信息")
    private String notes;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    @ApiModelProperty(value = "是否删除：0：未删除 1：已删除")
    @TableLogic
    private Integer isDeleted;


}
